package com.atm.atmsys.Service.Imp;

import com.atm.atmsys.utils.TLSSigAPIv2;
import org.springframework.stereotype.Service;

@Service
public class TRTCService {

    private final TLSSigAPIv2 tlsSigAPIv2;

    public TRTCService() {
        long sdkappid = 1400000000; // 替换为你的 SDKAppID
        String key = "your_secret_key"; // 替换为你的密钥
        this.tlsSigAPIv2 = new TLSSigAPIv2(sdkappid, key);
    }

    /**
     * 生成 UserSig
     *
     * @param userid 用户 ID
     * @param expire 有效期（秒）
     * @return UserSig
     */
    public String generateUserSig(String userid, long expire) {
        return tlsSigAPIv2.genUserSig(userid, expire);
    }

    /**
     * 生成 PrivateMapKey（数字房间号）
     *
     * @param userid       用户 ID
     * @param expire       有效期（秒）
     * @param roomid       房间号
     * @param privilegeMap 权限位
     * @return PrivateMapKey
     */
    public String generatePrivateMapKey(String userid, long expire, long roomid, long privilegeMap) {
        return tlsSigAPIv2.genPrivateMapKey(userid, expire, roomid, privilegeMap);
    }

    /**
     * 生成 PrivateMapKey（字符串房间号）
     *
     * @param userid       用户 ID
     * @param expire       有效期（秒）
     * @param roomstr      字符串房间号
     * @param privilegeMap 权限位
     * @return PrivateMapKey
     */
    public String generatePrivateMapKeyWithStringRoomID(String userid, long expire, String roomstr, long privilegeMap) {
        return tlsSigAPIv2.genPrivateMapKeyWithStringRoomID(userid, expire, roomstr, privilegeMap);
    }
}